What is object.pick?
The object.pick npm package is a utility that allows users to create a new object by picking specific properties from an existing object. This can be particularly useful for filtering out unwanted properties from objects or creating new objects that only contain relevant data.
What are object.pick's main functionalities?
Picking properties from an object
This feature allows you to select which properties to include in a new object from the original object. It is useful for extracting necessary data and leaving out the rest.
{"const pick = require('object.pick');\nconst object = { a: 1, b: '2', c: 3 };\nconst picked = pick(object, ['a', 'c']);\nconsole.log(picked); // Output: { a: 1, c: 3 }"}
Other packages similar to object.pick
lodash.pick
lodash.pick is part of the Lodash library, which provides a similar functionality to object.pick. It allows picking properties from objects. Lodash is a more comprehensive utility library that includes a wide range of functions for manipulating objects, arrays, strings, etc., making it heavier compared to the more focused object.pick.
pick-deep
pick-deep allows for picking properties from objects but also supports deep paths, which means it can access nested properties. This is more advanced compared to object.pick, which works only on the first level of the object.
object.pick
Returns a filtered copy of an object with only the specified keys, similar to _.pick
from lodash / underscore.
You might also be interested in object.omit.
Install
Install with npm:
$ npm install --save object.pick
benchmarks
This is the fastest implementation I tested. Pull requests welcome!
Usage
var pick = require('object.pick');
pick({a: 'a', b: 'b'}, 'a')
pick({a: 'a', b: 'b', c: 'c'}, ['a', 'b'])
About
Related projects
- extend-shallow: Extend an object with the properties of additional objects. node.js/javascript util. | homepage
- get-value: Use property paths (
a.b.c
) to get a nested value from an object. | homepage - mixin-deep: Deeply mix the properties of objects into the first object. Like merge-deep, but doesn't clone. | homepage
- set-value: Create nested values and any intermediaries using dot notation (
'a.b.c'
) paths. | homepage
Contributing
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
Building docs
(This document was generated by verb-generate-readme (a verb generator), please don't edit the readme directly. Any changes to the readme must be made in .verb.md.)
To generate the readme and API documentation with verb:
$ npm install -g verb verb-generate-readme && verb
Running tests
Install dev dependencies:
$ npm install -d && npm test
Author
Jon Schlinkert
License
Copyright © 2016, Jon Schlinkert.
Released under the MIT license.
This file was generated by verb-generate-readme, v0.2.0, on October 27, 2016.